package com.itjh.utils;


/**
 * Description: 该工具类可以帮我们以线程为单位，存储一个数据，以便于该线程执行任意一层(三层架构中的代码)的时候，可以随时随地通过该工具获取数据。
 *
 * @Create 2025/1/21 10:27
 */
public class ThreadLocalUtils {
    private static ThreadLocal<Object> local = new ThreadLocal<>();

    // 设置值到当前线程的 ThreadLocal 中
    public static <T> void setValue(T value) {
        local.set(value);
    }

    // 从当前线程的 ThreadLocal 中获取值
    public static <T> T getValue() {
        return (T) local.get();
    }

    // 移除当前线程的 ThreadLocal 中的值
    public static void removeValue() {
        local.remove();
    }
}
